#ifndef SPLIT_AT_CURSOR_H
#define SPLIT_AT_CURSOR_H

#include "AClipEdit.h"

namespace gui { namespace timeline { namespace command {

class SplitAtCursor 
    :   public AClipEdit
{
public:

    //////////////////////////////////////////////////////////////////////////
    // INITIALIZATION
    //////////////////////////////////////////////////////////////////////////

    SplitAtCursor(model::SequencePtr sequence);

    ~SplitAtCursor();

    //////////////////////////////////////////////////////////////////////////
    // ACLIPEDIT INTERFACE
    //////////////////////////////////////////////////////////////////////////

    void initialize() override;

private:

    //////////////////////////////////////////////////////////////////////////
    // HELPER METHODS
    //////////////////////////////////////////////////////////////////////////

    void splittrack(model::Tracks tracks, pts position);

    //////////////////////////////////////////////////////////////////////////
    // LOGGING
    //////////////////////////////////////////////////////////////////////////

    friend std::ostream& operator<<( std::ostream& os, const SplitAtCursor& obj );
};

}}} // namespace

#endif // SPLIT_AT_CURSOR_H
